//Will Zepeda
//GSP-362
//Button.h
//class that holds all info a button needs to do its job
#pragma once
#include "SpriteInfo.h"
#include "DX include.h"
#include "Sprite.h"

class Button
{
private:
	//all info button sprite needs, including texture
	SpriteInfo				mButtonInfo;
	//the type of button it is
	int						mType;

public:
	Button(): mType(0) {}
	~Button();
	void loadTexture(char *);

	/****************************************************
	******************** SETS/GETS **********************
	****************************************************/
	SpriteInfo & getSpriteInfo(){ return mButtonInfo; }

	//XY	 getCenter(){ return mButtonInfo.getCenter(); }
	void setPos(int, int);
	//XY   getPos(){ return mButtonInfo.getPosOfCenter(); }

	////int	 getWidth(){ return mButtonInfo.getWidth(); }
	////int	 getHeight(){ return mButtonInfo.getHeight(); }

	//sets both X & Y scale to the same value
	void setScale(float);
	//sets X scale to a value, then Y scale to a value
	void setScale(float, float);
	//inline float getScale(){ mButtonInfo.getScale(); }
	//inline int	 getAlpha(){ return mAlpha; }

	inline void setButtonType(int aType){ mType = aType; }
	inline int getButtonType(){ return mType; }
	/****************************************************/

	void makeTranslucent();
	void makeSolid();
	bool isSolid();

	bool inButton(POINT);

	//void draw();
};